In order to print a document, a user typically selects a print command from an application program to initiate print services of the operating system. The print services present a user interface in the form of a print dialog box that allows the user to select various print options, such as paper source, number of copies, page orientation, print quality, etc. After the user selects the print options and commences the print operation, the operating system uses a printer driver to convert the document to a PDL (page description language) format that is specific to the printer selected by the user. The printer driver then directs the PDL to the printer where it is rendered as a hardcopy output.
These tasks are relatively common and straightforward when the document is printed to a local printer. These tasks, however, become quite complicated if the user desires to print the document over the internet to a remote printer.